package com.example.innelop

import org.junit.Test


/**
 * 内置操作符let
 * 说明：内置参数操作符it，最后一行默认为返回值
 *
 * @author zhouronghua
 * @time 2022/3/23 10:43 下午
 */
class LetTest {

    @Test
    fun testLet() {
        val list = listOf(6, 7, 1, 5, 3, 6)
        val value1 = list.first()
        val value2 = list.last()
        println(value1 + value2)
        // 采用let操作
        println("let内置操作符==")
        val result = list.let {
            it.first() + it.last()
        }
        println("结果是$result")
        // 测试let处理函数
        println(getStringNoNull("秘密"))
        println(getStringNoNull2("秘密"))
    }

    fun getStringNoNull(value: String?): String {
        return value?.let {
            "欢迎老大$it"
        } ?: "得到空值，再看看"
    }

    fun getStringNoNull2(value: String?): String = value?.let {
        "欢迎老大$it"
    } ?: "得到空值，再看看"

}